package com.testmanager.testmananger.quantitative.mapper;

import com.testmanager.testmananger.quantitative.domain.TestInfoEntity;
import com.testmanager.testmananger.quantitative.dto.TaskInfoDto;
import com.testmanager.testmananger.quantitative.dto.TestInfoDto;
import com.testmanager.testmananger.quantitative.dto.WorkerDto;

import java.util.List;

public class TestInfoMapper {

    public static TestInfoDto toTestInfoDto(TestInfoEntity testInfoEntity, List<WorkerDto> workerDtos, List<TaskInfoDto> taskInfoDtos){
        TestInfoDto testInfoDto = new TestInfoDto();
        return testInfoDto.setId(testInfoEntity.getId())
                .setTestNo(testInfoEntity.getTestNo())
                .setPracticeTimeFrom(testInfoEntity.getPracticeTimeFrom())
                .setPracticeTimeTo(testInfoEntity.getPracticeTimeTo())
                .setScheduleTimeFrom(testInfoEntity.getScheduleTimeFrom())
                .setScheduleTimeTo(testInfoEntity.getScheduleTimeTo())
                .setProgress(testInfoEntity.getProgress())
                .setTestCaseURL(testInfoEntity.getTestCaseURL())
                .setQuickTestCaseURL(testInfoEntity.getQuickTestCaseURL())
                .setRiskPoint(testInfoEntity.getRiskPoint())
                .setWorkers(workerDtos)
                .setTasks(taskInfoDtos)
                .setEnv(testInfoEntity.getEnv())
                .setSubmitTest(testInfoEntity.isSubmitTest());

    }


    public static TestInfoEntity toTestInfoEntity(TestInfoDto testInfoDto,long iterationId){
        TestInfoEntity testInfoEntity = new TestInfoEntity();
        return testInfoEntity.setId(testInfoDto.getId())
                .setIterationId(iterationId)
                .setTestNo(testInfoDto.getTestNo())
                .setScheduleTimeFrom(testInfoDto.getScheduleTimeFrom())
                .setScheduleTimeTo(testInfoDto.getScheduleTimeTo())
                .setPracticeTimeFrom(testInfoDto.getPracticeTimeFrom())
                .setPracticeTimeTo(testInfoDto.getPracticeTimeTo())
                .setProgress(testInfoDto.getProgress())
                .setTestCaseURL(testInfoDto.getTestCaseURL())
                .setQuickTestCaseURL(testInfoDto.getQuickTestCaseURL())
                .setRiskPoint(testInfoDto.getRiskPoint())
                .setSubmitTest(testInfoDto.isSubmitTest())
                .setEnv(testInfoDto.getEnv());


    }
}
